package com.yxw.yxnet_cd_center.customer_service.dto;



import com.yxw.yxnet_cd_center.customer_service.entity.YxcscClientFiledServiceEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
//import lombok.EqualsAndHashCode;



@Data
//@EqualsAndHashCode(callSuper = true)
public class YxcscClientFiledServiceDTO   implements Serializable
{
    private static final long serialVersionUID = 81695293143705L;
    /**
    *处理次数
    */
    @ApiModelProperty(value = "处理次数")
    private Integer accessNumber;
    /**
    *渠道编码
    */
    @ApiModelProperty(value = "渠道编码")
    private String channelCode;
    /**
    *渠道Id
    */
    @ApiModelProperty(value = "渠道Id")
    private Integer channelId;
    /**
    *客服头像
    */
    @ApiModelProperty(value = "客服头像")
    private String coustAvatar;
    /**
    *客服ID
    */
    @ApiModelProperty(value = "客服ID")
    private Long coustId;
    /**
    *客服名称
    */
    @ApiModelProperty(value = "客服名称")
    private String coustName;
    /**
    *创建时间，时间戳
    */
    @ApiModelProperty(value = "创建时间，时间戳")
    private Long createTime;
    /**
    *当前处理节点ID
    */
    @ApiModelProperty(value = "当前处理节点ID")
    private String currentAccessId;
    /**
    *入口编码
    */
    @ApiModelProperty(value = "入口编码")
    private String entryCode;
    /**
    *入口Id
    */
    @ApiModelProperty(value = "入口Id")
    private Integer entryId;
    /**
    *客户评价分数
    */
    @ApiModelProperty(value = "客户评价分数")
    private Integer evaluate;
    /**
    *客服评价详情
    */
    @ApiModelProperty(value = "客服评价详情")
    private String evaluateDetail;
    /**
    *订单Id
    */
    @ApiModelProperty(value = "订单Id")
    private String orderId;
    /**
    *订单状态
    */
    @ApiModelProperty(value = "订单状态")
    private String orderState;
    /**
    *端口ID
    */
    @ApiModelProperty(value = "端口ID")
    private String portCode;
    /**
    *端口Id
    */
    @ApiModelProperty(value = "端口Id")
    private Integer portId;
    /**
    *产品Id
    */
    @ApiModelProperty(value = "产品Id")
    private String productId;
    /**
    *产品分类
    */
    @ApiModelProperty(value = "产品分类")
    private String productType;
    /**
    *服务类型,取值:咨询(consulting),投诉(complaint)
    */
    @ApiModelProperty(value = "服务类型,取值:咨询(consulting),投诉(complaint)")
    private String serviceType;
    /**
    *会话ID
    */
    @NotBlank(message = "会话ID不可为空")
    @ApiModelProperty(value = "会话ID")
    private String Id;
     /*
    *店铺Id
    */
    @ApiModelProperty(value = "店铺Id")
    private String shopId;   
    /**
    *需要展示给客服的信息
    */
    @ApiModelProperty(value = "需要展示给客服的信息")
    private String showMessage;
    /**
    *解决状态
    */
    @ApiModelProperty(value = "解决状态")
    private Integer solveState;
    /**
    *解决状态名称
    */
    @ApiModelProperty(value = "解决状态名称")
    private String solveStateName;
    /**
    *会话状态:1完成申请,2完成主题订阅,3已有客服处理,4流转,5结束
    */
    @ApiModelProperty(value = "会话状态:1完成申请,2完成主题订阅,3已有客服处理,4流转,5结束")
    private Integer state;
    /**
    *最后修改时间,时间戳
    */
    @ApiModelProperty(value = "最后修改时间,时间戳")
    private Long updateTime;
    /**
    *客户ID
    */
    @ApiModelProperty(value = "客户ID")
    private String userId;
    /**
    *客户名称
    */
    @ApiModelProperty(value = "客户名称")
    private String userName;
    /**
    *客户头像
    */
    @ApiModelProperty(value = "客户头像")
    private String userAvatar;
    /*
    *当前工作流Id
    */
    @ApiModelProperty(value = "当前工作流Id")
    private Long workflowId;   
    
    /**
    *将DTO转换为ENTITY
    */
    public YxcscClientFiledServiceEntity ConverToEntity()
    {
        YxcscClientFiledServiceEntity oYxcscClientFiledServiceEntity = new YxcscClientFiledServiceEntity ();
        oYxcscClientFiledServiceEntity.setAccessNumber(accessNumber) ;
        oYxcscClientFiledServiceEntity.setChannelCode(channelCode) ;
        oYxcscClientFiledServiceEntity.setChannelId(channelId) ;
        oYxcscClientFiledServiceEntity.setCoustAvatar(coustAvatar) ;
        oYxcscClientFiledServiceEntity.setCoustId(coustId) ;
        oYxcscClientFiledServiceEntity.setCoustName(coustName) ;
        oYxcscClientFiledServiceEntity.setCreateTime(createTime) ;
        oYxcscClientFiledServiceEntity.setCurrentAccessId(currentAccessId) ;
        oYxcscClientFiledServiceEntity.setEntryCode(entryCode) ;
        oYxcscClientFiledServiceEntity.setEntryId(entryId) ;
        oYxcscClientFiledServiceEntity.setEvaluate(evaluate) ;
        oYxcscClientFiledServiceEntity.setEvaluateDetail(evaluateDetail) ;
        oYxcscClientFiledServiceEntity.setOrderId(orderId) ;
        oYxcscClientFiledServiceEntity.setOrderState(orderState) ;
        oYxcscClientFiledServiceEntity.setPortCode(portCode) ;
        oYxcscClientFiledServiceEntity.setPortId(portId) ;
        oYxcscClientFiledServiceEntity.setProductId(productId) ;
        oYxcscClientFiledServiceEntity.setProductType(productType) ;
        oYxcscClientFiledServiceEntity.setServiceType(serviceType) ;
        oYxcscClientFiledServiceEntity.setId(Id) ;
        oYxcscClientFiledServiceEntity.setShowMessage(showMessage) ;
        oYxcscClientFiledServiceEntity.setSolveState(solveState) ;
        oYxcscClientFiledServiceEntity.setSolveStateName(solveStateName) ;
        oYxcscClientFiledServiceEntity.setState(state) ;
        oYxcscClientFiledServiceEntity.setUpdateTime(updateTime) ;
        oYxcscClientFiledServiceEntity.setClientId(userId) ;
        oYxcscClientFiledServiceEntity.setClientName(userName) ;
        oYxcscClientFiledServiceEntity.setClientAvatar(userAvatar) ;
        oYxcscClientFiledServiceEntity.setWorkflowId(workflowId) ;
        return oYxcscClientFiledServiceEntity;
    }
}

